﻿/*----------------------------------------------------------------
* 项目名称 ：EMSH
* 类 名 称 ：Reddot
* 类 描 述 ：红点
* 作    者 ：Xu Donghao
* 创建时间 ：2023/2/21/周二 下午 04:17:17
* CLR 版本 ：4.0.30319.42000
* 版 本 号 ：v1.0.0.0
*******************************************************************
* Copyright @ Xu Donghao 2023. All rights reserved.
*******************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// 红点
/// </summary>
public class Reddot : MonoBehaviour
{
    public string ID;
    public bool NeedNumber;
    /// <summary>
    /// 消息数量显示上限
    /// </summary>
    public int NumberLimit = 99;

    public Text m_Text;

    private void Awake()
    {
        ReddotManager.Instance.Register(ID, this);

        m_Text.gameObject.SetActive(NeedNumber);
    }

    private void OnDestroy()
    {
        ReddotManager.Instance.Unregister(ID, this);
    }

    /// <summary>
    /// 外部禁止调用
    /// </summary>
    /// <param name="number"></param>
    public void Refresh(int number)
    {
        gameObject.SetActive(number > 0);

        if (NeedNumber)
        {
            m_Text.text = number > NumberLimit ? string.Format("{0}+", NumberLimit) : number.ToString();
        }
    }
}